package com.hsgene.order.service;

import com.hsgene.common.util.result.ApiResult;
import com.hsgene.common.util.result.NullObject;
import com.hsgene.order.dto.message.OrderPostponeMessageDto;

/**
 * 订单超期处理Service
 *
 * @author wangbing
 * @version 1.0
 * @date 2019/1/18 17:00
 * Copyright: Copyright (c) 2019
 */
public interface OrderPostponeService {

    /**
     * 订单样本确认-发送延迟消息，触发超期检测提醒
     *
     * @param orderId   订单id
     * @param packageId 订单套餐id
     */
    void orderSampleConfirmed(String orderId, String packageId);

    /**
     * 处理订单套餐超期检测消息
     *
     * @param message 订单套餐超期检测消息
     * @return 处理结果
     */
    ApiResult<NullObject> handlePostponeMsg(OrderPostponeMessageDto message);

    /**
     * 检测报告上传，清除订单套餐超期检测标志
     *
     * @param orderId   订单id
     * @param packageId 订单套餐id
     * @return 处理结果
     */
    ApiResult<NullObject> clearPostpone(String orderId, String packageId);
}
